package com.inspur.edp.common.expr.spi;


import com.inspur.edp.common.expr.ast.CompileUnitParser;
import com.inspur.edp.common.expr.ast.CompileUnitVisitor;

/**
 * @author lizhaorui
 * @description 比如BigDecimal类型的表达式，涉及到的表达式有：assignValExpr、compareExpr、plusMinusExpr、multiplyDivideExpr、varDeclarationExpr
 * @date 2025/1/14 9:36
 */
public interface NumberVisitor {

    String getKind();

    String convertToNumber(CompileUnitVisitor visitor, CompileUnitParser.ExpressContext express);

    String getPlusScript(CompileUnitVisitor visitor, CompileUnitParser.ExpressContext express1, CompileUnitParser.ExpressContext express2);

    String getMinusScript(CompileUnitVisitor visitor, CompileUnitParser.ExpressContext express1, CompileUnitParser.ExpressContext express2);

    String getMultiplyScript(CompileUnitVisitor visitor, CompileUnitParser.ExpressContext express1, CompileUnitParser.ExpressContext express2);

    String getDivideScript(CompileUnitVisitor visitor, CompileUnitParser.ExpressContext express1, CompileUnitParser.ExpressContext express2);

}
